Businesses that provide services or rent physical resources to their customers must pay close attention to resource scheduling and utilization. Tracking which human resources are available to provide which services, knowing which physical resources are currently in use, notifying staff of upcoming appointments, quickly answering customer inquiries about resource availability, are common challenges to all service-oriented businesses, and a major portion of each work day is spent monitoring resource schedules and responding to customer requests for appointments. Often, one or more employees are dedicated to nothing more than taking appointments and ensuring resources are in the right place at the right time. In sole proprietor shops, these activities have a direct impact on the bottom line as time spent booking appointments is time lost delivering services and earning revenue.
To address this problem, the marketplace has responded with information technology solutions to help track and schedule both human and non-human resources. Several resource-scheduling software applications are known that are intended to aid the service provider with setting schedules, booking appointments, and monitoring current utilization of resources. While these innovations are indeed valuable and widely used, the problem remains that one or more employees must still monitor and update this “electronic planner,” referring to it each time a customer calls for an appointment and updating it often to reflect new and cancelled appointments.
Several Internet-based scheduling solutions have been proposed recently, but their widespread adoption has been slowed for several reasons. First, there is the issue of a service provider letting its customers know that they have the option of scheduling appointments without calling or walking into the shop. While customer adoption of Internet technology has increased significantly since its introduction, so too has the number of web sites and Internet-based applications. A service provider telling its customers to visit a web URL to schedule upcoming appointments is easily lost in the cacophony of advertising and media reports of the hottest, latest web destinations. Second, considering the number of service providers with which a typical individual interacts on a regular basis (esthetician, hair stylist, mechanic, personal trainer, etc.), it is not long before a smattering of web sites to make life easier becomes a deluge of user names and passwords that must be recalled with each attempt to schedule online.
One answer to the problem of the standalone service provider resource scheduling web site has been aggregate resource scheduling software systems, described in prior art as public network (typically World Wide Web) destinations that provide a single interface to the scheduling calendars of a plurality of service providers. This approach has some advantages for the customer, such as providing a one-stop shop that is easily bookmarked by regular visitors for use over and over again, and easily remembered by new visitors who might happen upon the URL in advertising, conversation with friends and acquaintances, or interaction with their favorite service providers whose schedules are available on the site. These sites often require the customer to remember only a single user name and password that can be used to schedule appointments with a plurality of service providers.
Unfortunately, the technical implementation of an aggregate resource scheduling software system is not without its difficulties. Such systems typically employ one of two architectural models: (a) distributed systems that use data replication to pull data from disparate scheduling systems to create a single appointment scheduling database; and (b) centralized systems with a single database that is used by both customers and disparate service providers for all scheduling.
In systems that use a distributed architecture, the aggregate resource scheduling software typically allows the customer to review scheduling information and create an appointment using data available in a central database. These systems face the complex problem of synchronizing data that is updated centrally with that updated locally by the service providers in their separate, standalone resource scheduling applications. To avoid “double-booking” (scheduling the same service or resource twice in the same time slot in separate software systems), distributed systems using this architecture must either frequently replicate data bi-directionally or set new appointments made using the aggregate resource scheduling interface to a status of “pending” while the service provider makes a manual decision to accept or reject the appointment. If the resource scheduling software uses data replication as the solution to this problem, information must be forwarded to the centralized database as appointments are made in the separate service provider scheduling applications so that customers querying the central database for open time slots receive accurate information. Likewise, as appointments are scheduled centrally, that data must be sent back to the service provider database to both notify the service provider of the new appointments and to avoid double-booking in the service provider's scheduling software.
The replication of data is not as simple as it sounds. Even with very frequent replication, the possibility exists that a time slot may have been double-booked in the separate software systems between replication events. Conflicts are inevitable, and software systems that share data in this manner must possess business logic that allows system users to review these conflicts and determine which appointment should be retained and which should be discarded. A discarded appointment requires communication with the losing customer to inform him or her that an appointment must be rescheduled.
Aggregate resource scheduling software systems that use “decisioning” to deal with double-booking, i.e., they set all new appointments to a status of “pending” until the appointment is accepted or rejected by someone who has access to the service provider's authoritative schedule, are simple to implement technically, but lack the immediate feedback desired by customers and do little to lessen the manual workload of maintaining an “electronic planner” in the service provider's shop.